//package com.jeeplus.netty.net;
//
//import net.sourceforge.jtds.jdbc.DateTime;
//import org.slf4j.Logger;
//import org.slf4j.LoggerFactory;
//
//import java.io.UnsupportedEncodingException;
//import java.util.Calendar;
//
//public class MsgBase
//{
//    protected static Logger logger = LoggerFactory.getLogger("yanruTest");
//
//
//    //协议名
//    public String ProtoName;
//
//
//    private static byte [] getBytes(String str) throws UnsupportedEncodingException {
//        return str.getBytes("UTF-8");
//    }
//
//    //编码消息体
//    public static byte[] Encode(MsgBase msgBase) throws UnsupportedEncodingException {
//        String s = JsonUtility.ToJson(msgBase);
//        logger.debug("["+ Calendar.getInstance().getTime().toString() + "]编码内容" + s);
//        return getBytes(s);// Encoding.UTF8.GetBytes(s);
//    }
//
//
//    //解码消息体
//    public static MsgBase Decode(String protoName, byte[] bytes, int offset, int count)
//    {
//        String s = Encoding.UTF8.GetString(bytes, offset, count);
//        MsgBase msgBase = (MsgBase)JsonUtility.FromJson(s, Type.GetType(protoName));
//
//        Debug.Log("[" + Calendar.getInstance().getTime().toString()  + "]解码内容" + s);
//        return msgBase;
//    }
//    //编码协议名（2字节长度 +字符串）
//    public static byte[] EncodeName(MsgBase msgBase)
//    {
//        //名字bytes 和长度
//        byte[] nameBytes = Encoding.UTF8.GetBytes(msgBase.ProtoName);
//        Int16 len = (Int16) nameBytes.Length;
//        //申请byte数值
//        byte[] bytes = new byte[2 + len];
//        //组装2字节的长度信息
//        bytes[0] = (byte) (len % 256);
//        bytes[1] = (byte) (len / 256);
//        //组装名字bytes
//        Array.Copy(nameBytes,0,bytes,2,len);
//        return bytes;
//    }
//
//    public static byte[] EncodeName(String  msgBase)
//    {
//        //名字bytes 和长度
//        byte[] nameBytes = getBytes(msgBase);// Encoding.UTF8.GetBytes(msgBase);
//        Int16 len = (Int16)nameBytes.Length;
//        //申请byte数值
//        byte[] bytes = new byte[2 + len];
//        //组装2字节的长度信息
//        bytes[0] = (byte)(len % 256);
//        bytes[1] = (byte)(len / 256);
//        //组装名字bytes
//        Array.Copy(nameBytes, 0, bytes, 2, len);
//        return bytes;
//    }
//
////    //解码协议名z（2字节长度 +字符串）
////    public static String DecodeName(byte[] bytes, int offset, out int count)
////    {
////        count = 0;
////        if (offset + 2 > bytes.Length)
////        {
////            return "";
////        }
////
////        Int16 len = (Int16) ((bytes[offset + 1] << 8) | bytes[offset]);
////        if (offset + 2 + len > bytes.Length)
////        {
////            return "";
////        }
////        //解析
////        count = 2 + len;
////        String name = Encoding.UTF8.GetString(bytes, offset + 2, len);
////        return name;
////
////    }
//}
